/**
 * <pre>
 * Title: 		TransType.java
 * Project: 	HappyLottery
 * Author:		linriqing
 * Create:	 	2013-4-15 下午04:55:45
 * Copyright: 	Copyright (c) 2013
 * Company:		Shenzhen Helper
 * <pre>
 */
package com.hengpeng.msls.port.client.vo.client;

import com.hengpeng.msls.port.client.message.AccountLogMessage;
import com.hengpeng.msls.port.client.message.AccountMessage;
import com.hengpeng.msls.port.client.message.AndroidClientVersionMessage;
import com.hengpeng.msls.port.client.message.ArticleDiscussMessage;
import com.hengpeng.msls.port.client.message.ArticleMessage;
import com.hengpeng.msls.port.client.message.BindingBankCardMessage;
import com.hengpeng.msls.port.client.message.BorrowInfoQueryMessage;
import com.hengpeng.msls.port.client.message.ClientVersionInfo;
import com.hengpeng.msls.port.client.message.CreditAssignQueryMessage;
import com.hengpeng.msls.port.client.message.FindPwdMessage;
import com.hengpeng.msls.port.client.message.InvestMessage;
import com.hengpeng.msls.port.client.message.InvestQueryMessage;
import com.hengpeng.msls.port.client.message.LetterMessage;
import com.hengpeng.msls.port.client.message.LoginMessage;
import com.hengpeng.msls.port.client.message.MemberInfoMessage;
import com.hengpeng.msls.port.client.message.MyBorrowQueryMessage;
import com.hengpeng.msls.port.client.message.PayRequest;
import com.hengpeng.msls.port.client.message.PrivateMessage;
import com.hengpeng.msls.port.client.message.QueryArticleMessage;
import com.hengpeng.msls.port.client.message.TransMessage;
import com.hengpeng.msls.port.client.message.UserBankCardMessage;
import com.hengpeng.msls.port.client.message.UserDrawMessage;
import com.hengpeng.msls.port.client.message.UserSetProtectPwdMessage;
import com.hengpeng.msls.port.client.message.WXMemberInfoMessage;

/**
 * <pre>
 * 客户端交易类型
 * </pre>
 * @author linriqing
 * @version 1.0, 2013-4-15
 */
public enum WapTransType
{
	/**
	 * 身份认证
	 */
	IdentityAuth(PrivateMessage.class, TransMessage.class),
	/**
	 * 站内信
	 */
	RecieveMessage(LetterMessage.class, LetterMessage.class),
	/**
	 * 共享登录预调用
	 */
	ShareLogin(LoginMessage.class, LoginMessage.class),
	/**
	 * 登录, 包括部分快登回调
	 */
	Login(LoginMessage.class, LoginMessage.class),
	/**
	 * 充值
	 */
	Pay(PayRequest.class, PayRequest.class),
	/**
	 * 注册
	 */
	Register(LoginMessage.class, LoginMessage.class),
	/**
	 * 异常报告
	 */
	CrashReport(TransMessage.class, TransMessage.class),
	/**
	 * 客户端版本信息
	 */
	ClientVersion(ClientVersionInfo.class, ClientVersionInfo.class),
	/**
	 * 资金明细
	 */
	AccountLogQuery(AccountLogMessage.class, AccountLogMessage.class),

	/**
	 * 首页滚动新闻查询
	 */
	IndexScrollNews(ArticleMessage.class, ArticleMessage.class),

	/**
	 * 首页新闻列表查询
	 */
	IndexNewsList(ArticleMessage.class, ArticleMessage.class),

	/**
	 * 根据新闻id查询新闻详情
	 */
	IndexNewById(QueryArticleMessage.class, QueryArticleMessage.class),

	/**
	 * 新闻评论请求
	 */
	ArticleDiscuss(ArticleDiscussMessage.class, ArticleDiscussMessage.class),

	/**
	 * 绑定微信账号
	 */
	WxAddMemberInfo(WXMemberInfoMessage.class, WXMemberInfoMessage.class),
	/**
	 * 修改绑定微信账号
	 */
	WxEditMemberInfo(WXMemberInfoMessage.class, WXMemberInfoMessage.class),

	/**
	 * 检查版本号请求
	 */
	AndroidClientVersion(AndroidClientVersionMessage.class, AndroidClientVersionMessage.class),
	/**
	 * 借款标的信息列表
	 */
	BorrowInfoQuery(BorrowInfoQueryMessage.class, BorrowInfoQueryMessage.class),
	/**
	 * 借款标的信息详细
	 */
	BorrowInfoDetail(BorrowInfoQueryMessage.class, BorrowInfoQueryMessage.class),
	/**
	 * 投标
	 */
	Invest(InvestMessage.class, InvestMessage.class),
	/**
	 * 我的投标记录查询
	 */
	MyInvestQuery(InvestQueryMessage.class, InvestQueryMessage.class),
	/**
	 * 投标记录明细
	 */
	MyInvestDetail(InvestQueryMessage.class, InvestQueryMessage.class),
	/**
	 * 我的融资记录查询
	 */
	MyBorrowQuery(MyBorrowQueryMessage.class, MyBorrowQueryMessage.class),
	/**
	 * 融资记录明细
	 */
	MyBorrowDetail(MyBorrowQueryMessage.class, MyBorrowQueryMessage.class),
	/**
	 * 债权转让查询
	 */
	CreditAssignQuery(CreditAssignQueryMessage.class, CreditAssignQueryMessage.class),
	/**
	 * 我的可转让债权查询
	 */
	MyCanAssignQuery(CreditAssignQueryMessage.class, CreditAssignQueryMessage.class),

	/**
	 * 我的转让中的债权查询
	 */
	MyAssigningQuery(CreditAssignQueryMessage.class, CreditAssignQueryMessage.class),
	/**
	 * 我的已转让的债权
	 */
	MyAssignedQuery(CreditAssignQueryMessage.class, CreditAssignQueryMessage.class),
	/**
	 * 我的已购买的债权
	 */
	MyBuyedAssignQuery(CreditAssignQueryMessage.class, CreditAssignQueryMessage.class),

	/**
	 * 发布债权
	 */
	PublishAssign(CreditAssignQueryMessage.class, CreditAssignQueryMessage.class),
	/**
	 * 购买债权
	 */
	BuyAssign(CreditAssignQueryMessage.class, CreditAssignQueryMessage.class),
	/**
	 * 账户查询
	 */
	AccountQuery(AccountMessage.class, AccountMessage.class),
	/**
	 * 用户提现
	 */
	UserDraw(UserDrawMessage.class, UserDrawMessage.class),
	/**
	 * 找回密码,修改登录密码
	 */
	UpdateLoginPwd(FindPwdMessage.class, FindPwdMessage.class),
	/**
	 * 手机发送短信验证码以找回密码
	 */
	SendSmsForFindPwd(FindPwdMessage.class, FindPwdMessage.class),
	/**
	 * 退出
	 */
	LoginOut(PrivateMessage.class, PrivateMessage.class),

	/**
	 * 银行卡管理
	 */
	UserBankCard(UserBankCardMessage.class, UserBankCardMessage.class),
	/**
	 * 银行卡绑定
	 */
	BindingBankCard(BindingBankCardMessage.class, BindingBankCardMessage.class),
	/**
	 * 实名认证
	 */
	Authentication(MemberInfoMessage.class, MemberInfoMessage.class),
	/**
	 * 修改登录密码
	 */
	UpdatePassword(LoginMessage.class,LoginMessage.class),
	/**
	 * 设置密保
	 */
	SetQuestion(UserSetProtectPwdMessage.class,UserSetProtectPwdMessage.class),
	/**
	 * 修改密保
	 */
	UpdateQuestion(UserSetProtectPwdMessage.class,UserSetProtectPwdMessage.class),
	/**
	 * 手机号绑定
	 */
	MobileBind(LoginMessage.class, LoginMessage.class),
	/**
	 * 手机验证发送短信验证码
	 */
	SendSMSForValidMobile(LoginMessage.class, LoginMessage.class),
	/**
	 * 绑定邮箱发送验证链接
	 */
	sendValidEmail(LoginMessage.class, LoginMessage.class);

	private Class<?> requestType;

	private Class<?> responseType;

	WapTransType(Class<?> requestType, Class<?> responseType)
	{
		this.responseType = responseType;
		this.requestType = requestType;
	}

	public Class<?> getRequestType()
	{
		return requestType;
	}

	public Class<?> getResponseType()
	{
		return responseType;
	}
}
